package com.class04.path3;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassDescription:
 * 路径参数
 * @JdkVersion: 17
 * @Author: yxy
 * @Created: 2023/12/5 16:13
 */
@RequestMapping("path")
@Controller
public class PathController {
/**
 * path/账号/密码
 * 动态路径设计  {key} = *{key} 在形参列表获取传入参数
 * 接受路径路径参数   String account,String password  -> 接收param格式参数
 * todo 必须使用 @PathVariable   此注解只可以加在形参列表上
 *
 * 动态路径设计: /user/{动态部分}/{动态部分}   动态部分使用{}包含即可! {}内部动态标识!
 * 形参列表取值: @PathVariable Long id  如果形参名 = {动态标识} 自动赋值!
 *             @PathVariable("动态标识") Long id  如果形参名 != {动态标识} 可以通过指定动态标识赋值!
 * 访问测试示例:  /param/path/1/root  -> username = 1  password = root
 *
 */
@GetMapping("{account}/{password}")
@ResponseBody
public String login(@PathVariable(value = "account") String username,
                    @PathVariable String password){

    System.out.println("username = " + username + ", password = " + password);
    return "username = " + username + ", password = " + password;
}

}
